VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{753FEE6F-A545-4EAA-AAC8-87512ED29F21}#3.0#0"; "ccrpDtp6.ocx"
Object = "{8D650141-6025-11D1-BC40-0000C042AEC0}#3.0#0"; "ssdw3b32.ocx"
Begin VB.Form frmTurnosObrasSociales 
   BackColor       =   &H00FFFFFF&
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Turnos por Obra Social"
   ClientHeight    =   6885
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   6975
   Icon            =   "frmTurnosObrasSociales.frx":0000
   KeyPreview      =   -1  'True
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   6885
   ScaleWidth      =   6975
   Begin VB.Frame Frame2 
      BackColor       =   &H00FFFFFF&
      Height          =   975
      Left            =   5160
      TabIndex        =   8
      Top             =   360
      Width           =   1695
      Begin VB.CommandButton cmdImprimir 
         Appearance      =   0  'Flat
         BackColor       =   &H00FFFFFF&
         Caption         =   "Imprimir"
         Enabled         =   0   'False
         Height          =   390
         Left            =   240
         MaskColor       =   &H00FFFFFF&
         Style           =   1  'Graphical
         TabIndex        =   2
         Top             =   360
         Width           =   1140
      End
   End
   Begin VB.Frame Frame1 
      BackColor       =   &H00FFFFFF&
      Caption         =   "Fecha Turnos"
      Height          =   975
      Left            =   120
      TabIndex        =   5
      Top             =   360
      Width           =   4935
      Begin CCRPDTP6.ccrpDtp cmbFecDes 
         Height          =   315
         Left            =   720
         TabIndex        =   0
         Top             =   480
         Width           =   1575
         _ExtentX        =   2778
         _ExtentY        =   556
         CustomFormat    =   "dd/MM/yyyy"
         Min             =   36526
         Max             =   219512
         CCRPVer         =   1
         Var             =   "frmTurnosObrasSociales.frx":08CA
         XD              =   "frmTurnosObrasSociales.frx":08FE
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Text            =   "13/04/2009"
      End
      Begin CCRPDTP6.ccrpDtp cmbFecHas 
         Height          =   315
         Left            =   3120
         TabIndex        =   1
         Top             =   480
         Width           =   1575
         _ExtentX        =   2778
         _ExtentY        =   556
         CustomFormat    =   "dd/MM/yyyy"
         Min             =   36526
         Max             =   219512
         CCRPVer         =   1
         Var             =   "frmTurnosObrasSociales.frx":095A
         XD              =   "frmTurnosObrasSociales.frx":098E
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Text            =   "13/04/2009"
      End
      Begin VB.Label Label2 
         BackColor       =   &H00FFFFFF&
         Caption         =   "Desde:"
         Height          =   255
         Left            =   120
         TabIndex        =   7
         Top             =   480
         Width           =   615
      End
      Begin VB.Label Label5 
         BackColor       =   &H00FFFFFF&
         Caption         =   "Hasta:"
         Height          =   255
         Left            =   2520
         TabIndex        =   6
         Top             =   480
         Width           =   615
      End
   End
   Begin MSComctlLib.ImageList ImageList1 
      Left            =   2280
      Top             =   0
      _ExtentX        =   1005
      _ExtentY        =   1005
      BackColor       =   -2147483643
      ImageWidth      =   16
      ImageHeight     =   16
      MaskColor       =   12632256
      _Version        =   393216
      BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
         NumListImages   =   11
         BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":09EA
            Key             =   ""
         EndProperty
         BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":0F84
            Key             =   ""
         EndProperty
         BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":151E
            Key             =   ""
         EndProperty
         BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":1AB8
            Key             =   ""
         EndProperty
         BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":2052
            Key             =   ""
         EndProperty
         BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":25EC
            Key             =   ""
         EndProperty
         BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":2B86
            Key             =   ""
         EndProperty
         BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":3120
            Key             =   ""
         EndProperty
         BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":36BA
            Key             =   ""
         EndProperty
         BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":3C54
            Key             =   ""
         EndProperty
         BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosObrasSociales.frx":41EE
            Key             =   ""
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.Toolbar Toolbar1 
      Align           =   1  'Align Top
      Height          =   360
      Left            =   0
      TabIndex        =   4
      Top             =   0
      Width           =   6975
      _ExtentX        =   12303
      _ExtentY        =   635
      ButtonWidth     =   609
      ButtonHeight    =   582
      Appearance      =   1
      Style           =   1
      ImageList       =   "ImageList1"
      _Version        =   393216
      BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
         NumButtons      =   6
         BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
         BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "Aceptar"
            Object.ToolTipText     =   "Aceptar (F5)"
            ImageIndex      =   5
         EndProperty
         BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Enabled         =   0   'False
            Key             =   "Cancelar"
            Object.ToolTipText     =   "Cancelar (F8)"
            ImageIndex      =   6
         EndProperty
         BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
         BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "Salir"
            Object.ToolTipText     =   "Salir (Esc)"
            ImageIndex      =   11
         EndProperty
         BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
      EndProperty
      BorderStyle     =   1
   End
   Begin SSDataWidgets_B.SSDBGrid Grilla 
      Height          =   5295
      Left            =   120
      TabIndex        =   3
      Top             =   1440
      Width           =   6705
      _Version        =   196616
      DataMode        =   2
      Col.Count       =   4
      BevelColorFace  =   16777215
      AllowUpdate     =   0   'False
      RowSelectionStyle=   2
      AllowRowSizing  =   0   'False
      AllowGroupSizing=   0   'False
      AllowGroupMoving=   0   'False
      AllowGroupSwapping=   0   'False
      AllowGroupShrinking=   0   'False
      AllowDragDrop   =   0   'False
      SelectTypeCol   =   0
      SelectTypeRow   =   1
      BackColorEven   =   12648447
      BackColorOdd    =   12640511
      RowHeight       =   423
      Columns.Count   =   4
      Columns(0).Width=   5292
      Columns(0).Caption=   "Obra Social"
      Columns(0).Name =   "Obra Social"
      Columns(0).CaptionAlignment=   2
      Columns(0).DataField=   "Column 0"
      Columns(0).DataType=   8
      Columns(0).FieldLen=   256
      Columns(1).Width=   1773
      Columns(1).Caption=   "Reservados"
      Columns(1).Name =   "reservados"
      Columns(1).Alignment=   2
      Columns(1).DataField=   "Column 1"
      Columns(1).DataType=   8
      Columns(1).FieldLen=   256
      Columns(2).Width=   1773
      Columns(2).Caption=   "Cancelados"
      Columns(2).Name =   "Cancelados"
      Columns(2).Alignment=   2
      Columns(2).DataField=   "Column 2"
      Columns(2).DataType=   8
      Columns(2).FieldLen=   256
      Columns(3).Width=   1773
      Columns(3).Caption=   "Confirmados"
      Columns(3).Name =   "Confirmados"
      Columns(3).Alignment=   2
      Columns(3).DataField=   "Column 3"
      Columns(3).DataType=   8
      Columns(3).FieldLen=   256
      _ExtentX        =   11827
      _ExtentY        =   9340
      _StockProps     =   79
      Caption         =   "Turnos"
      BackColor       =   -2147483643
      BeginProperty PageFooterFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      BeginProperty PageHeaderFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
   End
End
Attribute VB_Name = "frmTurnosObrasSociales"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Dim con As New ConBaseDatos, InfExel As Object

Private Sub cmbFecDes_GotFocus()

cmbFecDes.CalBackColor = &HFFFFC0

End Sub

Private Sub cmbFecDes_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
    SendKeys "{TAB}"
    KeyAscii = 0
End If

End Sub

Private Sub cmbFecDes_LostFocus()

cmbFecDes.CalBackColor = &H80000005

End Sub

Private Sub cmbFecHas_GotFocus()

cmbFecHas.CalBackColor = &HFFFFC0

End Sub

Private Sub cmbFecHas_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
    If Control Then Exit Sub
    Imprimir cmbFecDes.Value, cmbFecHas.Value, False
End If

End Sub

Private Sub cmbFecHas_LostFocus()

cmbFecHas.CalBackColor = &H80000005

End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

Select Case KeyCode
    Case 27 'Escape "Salir"
        If Toolbar1.Buttons(5).Enabled Then Toolbar1_ButtonClick Toolbar1.Buttons(5)
        
    Case 112 'F1 "Ayuta"
        frmPrincipal.manual_Click
        
    Case 116 'F5 "Aceptar"
        If Toolbar1.Buttons(2).Enabled Then Toolbar1_ButtonClick Toolbar1.Buttons(2)
    
    Case 119 'F8 "Cancelar"
        If Toolbar1.Buttons(3).Enabled Then Toolbar1_ButtonClick Toolbar1.Buttons(3)
        
End Select

End Sub

Private Sub Form_Load()

Abrir Me

End Sub

Private Sub Form_Unload(Cancel As Integer)

If Not Toolbar1.Buttons(5).Enabled Then Cancel = True

End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

    Case "Salir"
        Unload Me
    
    Case "Aceptar"
        If Control Then Exit Sub
        Imprimir cmbFecDes.Value, cmbFecHas.Value, False
        
    Case "Cancelar"
        inHabilitar
       
End Select

End Sub

Private Sub inHabilitar()

Toolbar1.Buttons.Item(2).Enabled = True
Toolbar1.Buttons.Item(3).Enabled = False
cmdImprimir.Enabled = False
cmbFecDes.Enabled = True
cmbFecHas.Enabled = True
cmbFecDes.Value = Fecha_Server
cmbFecHas.Value = Fecha_Server
Grilla.RemoveAll

End Sub

Private Sub Habilitar()

Toolbar1.Buttons.Item(2).Enabled = False
Toolbar1.Buttons.Item(3).Enabled = True
cmdImprimir.Enabled = True
cmbFecDes.Enabled = False
cmbFecHas.Enabled = False

End Sub

Private Sub cmdImprimir_Click()

Imprimir cmbFecDes.Value, cmbFecHas.Value, True

End Sub

Private Function Control() As Boolean

Control = False
If DateDiff("d", cmbFecDes.Value, cmbFecHas.Value) < 0 Then
    MsgBox "Fecha hasta no puede ser menor a desde", vbCritical, "Error de datos"
    Control = True
    cmbFecHas.SetFocus
End If

End Function

Public Sub Imprimir(diaDesde As Date, diaHasta As Date, Imprime As Boolean)

Dim i As Integer, dato As String, Linea As Integer
Dim totRes As Double, totCan As Double, totCon As Double

con.AbrirRegistros "SELECT Obras_sociales.nombre as obra_social,count(Turnos.reservado) as reservado,count(Turnos.cancelado) as cancelado,count(Turnos.confirmado) as confirmado FROM Turnos LEFT OUTER JOIN Obras_sociales ON Turnos.obra_social =Obras_sociales.obra_social WHERE Turnos.dia between '" & cmbFecDes.Value & "' and '" & cmbFecHas.Value & "' GROUP BY Obras_sociales.nombre ORDER BY 1", Consulta

Grilla.RemoveAll
If con.Registros.EOF Then
    MsgBox "No hay Turnos en la seleccion actual", vbExclamation, "Turnos"
    inHabilitar
    Exit Sub
End If

'cargo la grilla
Grilla.Redraw = False
Do While Not con.Registros.EOF
    dato = ""
    For i = 0 To Grilla.Cols - 1
        dato = dato & DesEditar(IIf(IsNull(con.Registros(i)), "", con.Registros(i))) & vbTab
        DoEvents
    Next i
    Grilla.AddItem dato
    totRes = totRes + con.Registros(1)
    totCan = totCan + con.Registros(2)
    totCon = totCon + con.Registros(3)
    con.Registros.MoveNext
    DoEvents
Loop
con.CerrarRegistros

'inserto un registro en blanco
dato = ""
For i = 0 To Grilla.Cols - 1
    dato = dato & "" & vbTab
    DoEvents
Next i
Grilla.AddItem dato

'inserto totales
dato = "Totales" & vbTab & totRes & vbTab & totCan & vbTab & totCon
Grilla.AddItem dato

Grilla.Redraw = True

'si imprime
If Not Imprime Then
    Habilitar
    Exit Sub
End If

If Not ExisteExcel Then
    MsgBox "Debe estar instalado MS Excel", vbCritical, "Operacion cancelada"
    Exit Sub
End If

Set InfExel = CreateObject("Excel.application")

'Agrega un nuevo Libro
InfExel.Workbooks.Add

'todas las celdas tipo texto
InfExel.Cells.Select
InfExel.Selection.NumberFormat = "@"

'hace que excel se vea
'InfExel.Visible = True

'cabecera
InfExel.Cells(2, 3).Formula = "INFORME TURNOS POR OBRA SOCIAL"
InfExel.Cells(2, 3).Font.Size = 12

InfExel.Cells(3, 6).Formula = "Fecha:"
InfExel.Cells(3, 6).HorizontalAlignment = -4152
InfExel.Cells(3, 7).Formula = Format(Fecha_Server, "dd/mm/yyyy")
InfExel.Cells(3, 7).HorizontalAlignment = -4131

InfExel.Cells(4, 2).Formula = "Desde:"
InfExel.Cells(4, 2).HorizontalAlignment = -4152
InfExel.Cells(4, 3).Formula = Format(cmbFecDes.Value, "dd/mm/yyyy")
InfExel.Cells(4, 3).HorizontalAlignment = -4131

InfExel.Cells(5, 2).Formula = "Hasta:"
InfExel.Cells(5, 2).HorizontalAlignment = -4152
InfExel.Cells(5, 3).Formula = Format(cmbFecHas.Value, "dd/mm/yyyy")
InfExel.Cells(5, 3).HorizontalAlignment = -4131

InfExel.Cells(7, 2).Formula = "Obra Social"
InfExel.Cells(7, 5).Formula = "Reservados"
InfExel.Cells(7, 6).Formula = "Cancelados"
InfExel.Cells(7, 7).Formula = "Confirmados"
InfExel.Range("B7:G7").Select
InfExel.Selection.Font.Bold = True
InfExel.Selection.HorizontalAlignment = -4108

'detalle
Grilla.Redraw = False
Linea = 8
Grilla.MoveFirst
For i = 0 To Grilla.Rows - 1
    InfExel.Cells(Linea, 2).Formula = Grilla.Columns(0).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 2).HorizontalAlignment = -4131
    
    InfExel.Cells(Linea, 5).Formula = Grilla.Columns(1).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 5).HorizontalAlignment = -4152
       
    InfExel.Cells(Linea, 6).Formula = Grilla.Columns(2).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 6).HorizontalAlignment = -4152
    
    InfExel.Cells(Linea, 7).Formula = Grilla.Columns(3).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 7).HorizontalAlignment = -4152
    
    Grilla.MoveNext
    Linea = Linea + 1
    DoEvents
Next i
Grilla.MoveFirst
Grilla.Redraw = True

InfExel.Range("B" & Linea - 1 & ":E" & Linea - 1).Select
InfExel.Selection.Font.Bold = True

InfExel.Range("A1").Select

'margenes a cero
InfExel.ActiveSheet.PageSetup.LeftMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.RightMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.TopMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.BottomMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.HeaderMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.FooterMargin = InfExel.Application.InchesToPoints(0)

'imprimo el excel directo a la impresora predeterminada
'InfExel.ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

'imprimo el excel en la impresora seleccionada
Load frmImpresora
frmImpresora.Show 1
If ImpresoraSeleccionada <> "" Then
    InfExel.ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
    ImpresoraSeleccionada, Collate:=True
End If

'para que no pregunte si se quiere guardar los cambios
InfExel.ActiveWorkbook.Saved = True

'cierro el excel
InfExel.Workbooks.Close
InfExel.Quit

Set InfExel = Nothing

End Sub
